
import java.util.Arrays;

public class Opdracht5_1 {

  public Opdracht5_1() {
    System.out.println("Opdracht 5.1");
    int aantal = 300;
    int[] lengtes = new int[aantal + 1];
    //vullen met data, zie de wiki
    System.out.println("Getallen:");
    for (int i = 1; i <= aantal; i++) {
      lengtes[i] = 160 + (9 * i) % 40;
      System.out.println(lengtes[i]);
    }
    //vullen met data kan ook met random...
    //gemiddelde uitrekenen
    double totaal = 0;
    for (int i = 1; i <= aantal; i++) {
      totaal += lengtes[i];
    }
    //deze 2 methodes werken allebij !! :P
    double gemiddelde1 = (totaal / aantal);
    double gemiddelde2 = (1.0/aantal)*totaal;
    System.out.println("Gemiddelde: " + gemiddelde1 + "  " + gemiddelde2);
    // Mediaan
    int maxhaalbare = 320; //3meter20
    int[] hoeveelKeer = new int[maxhaalbare];
    for (int i = 1; i <= aantal; i++) {
      hoeveelKeer[lengtes[i]]++;
    }
    //Modus zoeken.... (komt meeste voor)
    int vaaksteHoeveelKeer = -1;
    int vaaksteWelke = -1;
    for (int i = 1; i <= aantal; i++) {
      if (hoeveelKeer[i] > vaaksteHoeveelKeer) {
        vaaksteHoeveelKeer = hoeveelKeer[i];
        vaaksteWelke = i;
      }
    }
    System.out.println("Modus: " + vaaksteWelke + "(" + vaaksteHoeveelKeer + ")");
    //Nu alleen nog de Mediaan (middelste)
    //Sorteren
    Arrays.sort(lengtes);
    int mediaan = lengtes[aantal / 2];
    System.out.println("Mediaan: " + mediaan);
  }

  public static void main(String[] args) {
    new Opdracht5_1();
  }
}
